/* Copyright (C) 2007 Wesley Crossman
Email: wesley@crossmans.net

You can redistribute and/or modify this software under the terms of the GNU
General Public License as published by the Free Software Foundation;
either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this
program; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
Suite 330, Boston, MA 02111-1307 USA */

#include "WiiLed.h"
#include <QtGui>
#include <QtSvg>

WiiLed::WiiLed(int index) {
    sparkle = new QGraphicsSvgItem("sparkle.svg", this);
    sparkle->hide();
    QSizeF size = sparkle->boundingRect().size()/2;
    sparkle->setPos(-size.width(), -size.height());
    this->index = index;
    on = false;
    setRect(-6, -6, 12, 12);
    setBrush(QBrush(Qt::black));
    setPen(QPen(Qt::gray));
    setAcceptedMouseButtons(Qt::LeftButton);
}

void WiiLed::setOn(bool value) {
    on = value;
    if (on) {
        setBrush(QBrush(QColor(100, 100, 255)));
        setPen(QPen(QColor(100, 100, 200)));
    } else {
        setBrush(QBrush(Qt::black));
        setPen(QPen(Qt::gray));
    }
    sparkle->setVisible(on);
}

void WiiLed::mousePressEvent(QGraphicsSceneMouseEvent *e) {
    setOn(!on);
    emit toggled(index, on);
}

